export default function () {
  return this.createNode({
    shape: 'custom-electric',
    width: 14,
    height: 40,
    markup: [
      {
        tagName: 'g',
        selector: 'group1',
        children: [
          {
            tagName: 'rect',
            selector: 'line1',
            groupSelector: 'line',
            attrs: {
              x: 7,
              y: 0,
              height: 20
            }
          },
          {
            tagName: 'path',
            selector: 'co1_1',
            groupSelector: 'filled',
            attrs: {
              width: 10,
              height: 10,
              strokeWidth: 2,
              d: 'M 7,20 4,14 10,14 Z'
            }
          },
          {
            tagName: 'rect',
            selector: 'rect1',
            groupSelector: 'outline',
            attrs: {
              x: 0,
              y: 6,
              width: 14,
              height: 24
            }
          }
        ]
      },
      {
        tagName: 'g',
        selector: 'group3',
        children: [
          {
            tagName: 'rect',
            selector: 'line3',
            groupSelector: 'line',
            attrs: {
              x: 7,
              y: 30,
              height: 3
            }
          },
          {
            tagName: 'rect',
            selector: 'transverseLine3_1',
            groupSelector: 'transverseLine',
            attrs: {
              x: 0,
              y: 34,
              width: 14
            }
          },
          {
            tagName: 'rect',
            selector: 'transverseLine3_2',
            groupSelector: 'transverseLine',
            attrs: {
              x: 2,
              y: 37,
              width: 10
            }
          },
          {
            tagName: 'rect',
            selector: 'transverseLine3_3',
            groupSelector: 'transverseLine',
            attrs: {
              x: 4,
              y: 40,
              width: 6
            }
          }
        ]
      }
    ],
    attrs: {
      line: {
        fill: 'none',
        width: 0.1
      },
      co: {
        r: 6,
        strokeWidth: 2
      },
      transverseLine: {
        height: 0.1
      }
    },
    ports: {
      items: [
        {
          group: 'top'
        }
      ]
    }
  })
}
